package server;

import presentation.ChampionnatInterface;
import presentation.Ihm;

import java.net.MalformedURLException;
import java.rmi.*;
import java.rmi.server.UnicastRemoteObject;
import java.sql.SQLException;
import java.util.ArrayList;
import com.mysql.jdbc.ResultSet;

import com.mysql.jdbc.ResultSet;

import database.Database;

import metier.Championnat;
import metier.Equipe;
import metier.ListeChampionnat;
import metier.ListeMatch;
import metier.Match;
/**
 * Class Server
 * Package server
 * Lancement du serveur RMI
 * 
 * @author Herv Le Fouler et Lionel Lasry
 */
public class Server  extends Thread{
	/**
	 * Constructeur de Server
	 */
	public Server(){
		
	}
	
	public static void main (String [] args){
			try {
				Server server = new Server();
				System.out.println ("Serveur prt.");
				while(true){
					server.launch();
					Naming.rebind ("ListeChampionnat",new ListeChampionnat());
					Naming.rebind ("ListeMatch",new ListeMatch());
					Naming.rebind ("ChampionnatEquipe",new Championnat());
					sleep(1000);
				}
			} catch (Exception e) {
				System.out.println("Erreur serveur : " + e) ;
			}
	}
	/**
	 * Lance certaines tches pour le serveur
	 * Commande la cration d'instances d'objets vierges
	 * A utiliser par les clients
	 */
	public void launch() throws RemoteException{
		try {
			Naming.rebind ("Championnat",new Championnat());
			Naming.rebind ("Equipe",new Equipe());
			Naming.rebind ("EquipeVisiteur",new Equipe());
			Naming.rebind ("EquipeDomicile",new Equipe());
			Naming.rebind ("ClientConnexion",new Client());
			Naming.rebind ("NouveauMatch",new Match());
		} catch (MalformedURLException e) {
			e.printStackTrace();
		}
	}
}
